from pathlib import Path
import os

"""配置类"""
class Config:
    # ------------------------------
    # 路径配置（输入/输出目录）
    # ------------------------------

    """CSV列表文件目录地址（输入）"""
    INPUT_CSV_DIR: Path = Path(r"C:\Users\wyh70\Desktop\Temp\test")
    """CSV转化结果目录地址（输出）"""
    OUTPUT_PDF_ROOT_DIR: Path = Path(r"C:\Users\wyh70\Desktop\Temp\123")


    # ------------------------------
    # wkhtmltopdf 配置
    # ------------------------------

    """wkhtmltopdf可执行文件路径（需与安装位置一致）"""
    WKHTMLTOPDF_PATH: Path = Path(r"C:\Program Files\wkhtmltopdf\bin\wkhtmltopdf.exe")

    """PDF转换参数"""
    ToPDF_OPTIONS: dict = {
        "header-left": "来源：[webpage]",
        "header-line": "",
        "margin-top": '15mm',
        "header-spacing": 5,
        "footer-right": "[page]/[toPage]",
    }

    """url中需要直接下载的文件后缀"""
    DIRECT_DOWNLOAD_SUFFIXES: tuple = (
        '.pdf', '.doc', '.docx',
        '.xls', '.xlsx', '.ppt', '.pptx',
        '.txt', '.zip', '.rar'
    )

    # ------------------------------
    # 参数配置
    # ------------------------------

    """需要直接下载的文件后缀"""
    MAX_ATTEMPTS: int = 5
    # 线程池配置（动态按CPU核心数设置，适配不同机器）
    # MAX_WORKERS: int = os.cpu_count() * 2 if os.cpu_count() else 4

    DATA_MAX_WORKERS: int = 5
    FILE_MAX_WORKERS: int = os.cpu_count() if os.cpu_count() else 8

    """记录文件路径（用于断后重续）"""
    LOG_DIR: Path = Path(r"./log")  # 记录已处理的索引



